Modern life is becoming more dependent upon computers. Computers have evolved into extremely sophisticated devices, and may be found in many different applications. These applications involve everything from application-specific computers found in everyday devices such as automobiles, phones, and other electronics, to the general purpose computers found in the form of personal digital assistants (PDAs), personal computers, servers, and mainframes.
One of the main components in modern computer systems is memory. Many types of different memory products are currently used in computer systems. Most memory used in computer systems is volatile, meaning that it requires power to store information. If the power is turned off, the information stored in the volatile memory is lost. In certain applications, some or all of the memory in the computer system should be able to retain the information even when power is off or disconnected. For these applications, a non-volatile storage is used to store information that generally may not be lost when the power is turned off or disconnected.
One type of non-volatile storage is called “flash” memory. Flash memory is used in a wide variety of applications, such as storing control code in computer systems. In flash memory, an electronic charge is stored on a floating gate in each cell of the memory, with the level of the electronic charge determining the value for that cell. The flash memory is generally organized so that a section of memory cells is erased in a single action or “flash.” This erasing technique uses tunneling in which electronics pierce through a thin dielectric material to remove the electronic charge from the floating gate associated with each memory cell.
Another type of non-volatile storage is the conventional disk drive. The conventional disk drive is in an electromechanical device that includes one or more flat circular disks designed to rotate rapidly around a central axis. Each of these flat disks has opposite surfaces which are coated with some form of magnetic material. A mechanical arm driven by one or more electrical signals places a magnetic head over each side of each disk to write to positions on the disk or to read from those positions. These positions lie in sectors, a number of which form one complete track on one side of a disk. Each sector is capable of storing a fixed amount of data. This data is typically 512 bytes; however, larger byte sectors may also be used on some disks. Depending on formatting, a single side of a disk may have over 600 tracks. A typical disk drive used in a computer system or other computer-related device is capable of storing well over 30 gigabytes of data.
As is conventionally known, most memories and disk drives associated with computer systems or other computer-related devices include the use of file systems. The important feature of these file systems relates to logical data organization and therefore file reliability. More particularly, it is important that these file systems, regardless of the type of memory or storage they reside on, remain substantially immune to system failure, such as crashes, power failures, etc.